%-define(log(F, D), syslog_svr:logs("[~p] " ++ F, [?MODULE|D])).
%-define(log(F), syslog_svr:logs("[~p] " ++ F, [?MODULE])).
%-define(mark(), syslog_svr:logs("MARK ~p : ~p ", [ ?MODULE, ?LINE ])). 

-define(mark(), syslog_svr:logs("[~10.10s] : ~p ", [ atom_to_list(?MODULE), ?LINE ])). 

-ifdef(robot).
-define(IFROBOT,true).
-else.
-define(IFROBOT,false).
-endif.

-ifdef(check_time).
-define(mark_time(Data),?log("mark_time now = ~p Data=~p",[util:unixtime(),Data])).
-define(mark(Data),?log("mark Data=~p",[Data])).
-else.
-define(mark_time(Data),ok).
-define(mark(Data),ok).
-endif.

-ifdef(secure).
-define(SECURE,true).
-else.
-define(SECURE,false).
-endif.

-ifdef(gm_cord).
-define(proc_gm_cmd(Uid,Sid,String),gm).
-else.
-define(proc_gm_cmd(Uid,Sid,String),ok).
-endif.

-ifdef(resort).
-define(RESORT,true).
-else.
-define(RESORT,false).
-endif.

-ifdef(debug).
-define(SQLCONNUM,5).
-else.
-define(SQLCONNUM,20).
-endif.

-ifdef(debug).
-define(SQLSCONNUM,1).
-else.
-define(SQLSCONNUM,12).
-endif.

-ifdef(debug).
	-define(IFDEBUG,true).
	-define(log(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
	-define(log(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
	-define(log_trace(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
	-define(log_trace(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
	-define(log_warning(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
	-define(log_warning(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
	-define(log_error(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
	-define(log_error(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
	-define(log_ue(Tag, KvList), syslog_svr:logs_local("[~s:~p] ~s", [atom_to_list(?MODULE), ?LINE, syslog_svr:log_ue_format_str(Tag, KvList)])).
	-define(log_ue(Tag), syslog_svr:logs_local("[~s:~p] ~s", [atom_to_list(?MODULE), ?LINE, syslog_svr:log_ue_format_str(Tag, [])])).

	-define(debug(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
	-define(debug(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
	
-else.
	-define(IFDEBUG,false).
	-ifdef(debug_log).
		-define(log(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
		-define(log(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
		-define(log_trace(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
		-define(log_trace(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
		-define(log_warning(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
		-define(log_warning(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
		-define(log_error(F, D), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
		-define(log_error(F), syslog_svr:logs_local("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
		-define(log_ue(Tag, KvList), syslog_svr:logs_local("[~s:~p] ~s", [atom_to_list(?MODULE), ?LINE, syslog_svr:log_ue_format_str(Tag, KvList)])).
		-define(log_ue(Tag), syslog_svr:logs_local("[~s:~p] ~s", [atom_to_list(?MODULE), ?LINE, syslog_svr:log_ue_format_str(Tag, [])])).
		
		-define(debug(_F, _D), ok).
		-define(debug(_F,), ok).
	-else.
		-define(log(F, D), syslog_svr:log_info("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
		-define(log(F), syslog_svr:log_info("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
		-define(log_trace(F, D), syslog_svr:log_trace("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
		-define(log_trace(F), syslog_svr:log_trace("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
		-define(log_warning(F, D), syslog_svr:log_warning("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
		-define(log_warning(F), syslog_svr:log_warning("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
		-define(log_error(F, D), syslog_svr:log_error("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE] ++ D)).
		-define(log_error(F), syslog_svr:log_error("[~s:~p] " ++ F, [atom_to_list(?MODULE), ?LINE])).
		-define(log_ue(Tag, KvList), syslog_svr:log_ue("[~s:~p] ~s", [atom_to_list(?MODULE), ?LINE, syslog_svr:log_ue_format_str(Tag, KvList)])).
		-define(log_ue(Tag), syslog_svr:log_ue("[~s:~p] ~s", [atom_to_list(?MODULE), ?LINE, syslog_svr:log_ue_format_str(Tag, [])])).

		-define(debug(_F, _D), ok).
		-define(debug(_F,), ok).
	-endif.
-endif.

-define(send(Sid, Data), tool:send_packet(Sid, Data)).
-define(sends(Sid, Data), tool:send_packets(Sid, Data)).
-define(send_world(Type,Msg), tool:send_to_world(Type, Msg)).
-define(discon(Sid,Reson,Time), timer:apply_after(Time, gen_server, cast, [Sid, {discon, Reson}])).
-define(error_report(Sid, Name), tool:send_error_report(Sid, Name)).



-define(str(A), (byte_size(util:to_binary(A))):16/integer, (util:to_binary(A))/binary).
-define(u8,     8/unsigned-integer).
-define(u16,    16/unsigned-integer).
-define(u32,    32/unsigned-integer).
-define(i8,     8/signed-integer).
-define(i16,    16/signed-integer).
-define(i32,    32/signed-integer).
-define(f,      32/float).


-define(rtype_int, read_int).
-define(rtype_short, read_short).
-define(rtype_byte, read_byte).
-define(rtype_str, read_string).
-define(rtype_tuple, read_tuple).





